public RasterNativeBuffer ExtractFramesNativeMemory(Stream stream,List<int> frames)
stream
A System.IO.Stream containing the JPEG 2000 file data from which frames are being extracted.
frames
Frame indices. A list of integers specifying the indices of the frames to be extracted from the input stream. All indices should be 0-based.
A Leadtools.RasterNativeBuffer object that contains a JPEG 2000 file with only the extracted frames.
. This file contains only the extracted frame headers/code streams (not any obtained through the decompressing/recompressing process) so it saves processor time and memory.
This method is very suitable for server applications where multiple clients request specific frames of a JPEG 2000 file.Instead of decompressing and then recompressing the frames this method copies only the needed frame data, saving the data to a new JPEG 2000 file.
using Leadtools;using Leadtools.Codecs;using Leadtools.Jpeg2000;public RasterNativeBuffer ExtractFramesNativeMemoryStreamExample(List<int> frames){FileStream fs = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"));Jpeg2000Engine engine = new Jpeg2000Engine();Jpeg2000FileInformation fileInfo = engine.GetFileInformation(fs);for (int i = 0; i < frames.Count; i++)if (frames[i] >= fileInfo.Frame.GetLength(0))return RasterNativeBuffer.Empty;RasterNativeBuffer buffer = engine.ExtractFramesNativeMemory(fs, frames);// Clean upfs.Close();return buffer;}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}